package com.lyl.xxx.modules.framework.security.config.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author Mr.Luo
 * @date 2022-09-19 11:25
 * @desc
 */
@Data
@ConfigurationProperties(prefix = "security")
public class SecurityProperties {
    /**
     * 忽略列表
     */
    private String[] ignoreUrls = new String[]{"/login"};

    /**
     * token相关
     */
    private InnerToken token = new InnerToken();

    @Data
    public static class InnerToken {
        /**
         * 过期时间（分钟）：默认30分钟
         */
        private long expireTime = 30;

        /**
         * token私钥
         */
        private String privateKey = "123456";

        /**
         * 请求头中token对应的名称
         */
        private String headerName = "Authorization";

        /**
         * token前缀（不带空格）
         * 格式为：前缀 + 空格 + jwt
         */
        private String prefix = "Bearer";

        /**
         * 最大自动刷新token令牌时间（分钟）
         * 令牌快过期了，自动刷新
         */
        private long maxAutoRefreshTokenTime = 10;
    }
}
